/*package com.example.demo.Asept;


import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;


@Slf4j  //Slf4j是一个日志框架，涉及到的一个知识是门面模式，门面模式就是指我们客户端访问的不是各个子系统了，而是一个更高层次的接口，
//这个也叫门面角色，各个子系统会把这个门面角色当作客户端来进行处理的，当客户端请求门面角色后，门面角色就会
// 把任务委派给相应的子系统，所以客户端无需知道具体是使用了那个子系统进行处理的
@Aspect   //代表以下类为一个切面类（统一处理问题的方法类）

@Controller
public class AopHandler{

    //然后你得告诉我你的作用域是啥，就是你要处理那些方法，这就为切点
*//*    @Around(value = "execution(* com.example.demo.Controller.*.*(..))")
    public Object togetherHandler(ProceedingJoinPoint joinPoint) throws Throwable {  //这个joinPint就是连接点，每一个方法都是一个连接点
        //在目标方法joinPoint执行之前要做的事
        long start = System.currentTimeMillis();
        Object result = joinPoint.proceed();  //目标方法得执行，目标方法的执行会返回结果所以用result接收
        long end = System.currentTimeMillis();  ////目标方法之后进行执行，
       log.info(joinPoint+"方法的执行时间为"+(end-start));
       return result;
    }*//*
    @Pointcut(" (* com.example.demo.Controller.*.*(..))")  //这个就是切点，为规则，就是说明要统一处理的方法是那些，
    public void togetherHandler(){           //这个togetherHandler方法类似于切点的引用
            }
    @Before("togetherHandler()")
    public void fun1(){       //为通知方法，通知的类型为Before，前置通知，在目标方法之前进行运行
        System.out.println("前置设置，");
    }

    @Around("togetherHandler()")  //为通知方法，通知的类型为Around（环绕通知）
    public Object togetherHandler(ProceedingJoinPoint joinPoint) throws Throwable {   //经过验证ProceedingJoinPoint只能Around运用
        //在目标方法joinPoint执行之前要做的事
        long start = System.currentTimeMillis();
        System.out.println("环绕通知执行前");
        Object result = joinPoint.proceed();  //目标方法得执行，目标方法的执行会返回结果所以用result接收
        long end = System.currentTimeMillis();  ////目标方法之后进行执行，
        System.out.println("环绕（包围）通知执行后");  //这个环绕也可以理解为包围，因为其是在方法执行前（比Before前）和执行后（比After后）的最前和最后执行的东西
        log.info(joinPoint+"方法的执行时间为"+(end-start));
        return result;
    }

    @After("togetherHandler()")  //为通知方法，通知的类型为After，为后置通知
    public void fun2(){
        System.out.println("后置设置");
    }

*//*    @Around("togetherHandler()")
    public void fun22(){
        log.info("dadadada");
    }*//*


}*/


